/**
 * 播放器工具类
 * 提供播放器相关的工具方法
 */

class PlayerUtils {
  /**
   * 格式化时间
   * @param {number} seconds - 秒数
   * @returns {string} 格式化后的时间字符串 (mm:ss)
   */
  static formatTime(seconds) {
    if (isNaN(seconds) || seconds < 0) return '00:00'

    const min = Math.floor(seconds / 60)
    const sec = Math.floor(seconds % 60)
    return `${min.toString().padStart(2, '0')}:${sec.toString().padStart(2, '0')}`
  }

  /**
   * 验证音频文件URL
   * @param {string} url - 音频文件URL
   * @returns {boolean} 是否为有效的音频URL
   */
  static isValidAudioUrl(url) {
    if (!url) return false

    // 支持的音频格式
    const audioExtensions = ['.mp3', '.wav', '.ogg', '.m4a', '.aac']
    return audioExtensions.some(ext => url.toLowerCase().endsWith(ext))
  }

  /**
   * 创建默认歌曲对象
   * @returns {Object} 默认歌曲对象
   */
  static createDefaultSong() {
    return {
      id: null,
      name: '',
      singerName: '',
      url: '',
      picUrl: '',
      duration: 0
    }
  }

  /**
   * 检查浏览器是否支持音频播放
   * @returns {boolean} 是否支持音频播放
   */
  static isAudioSupported() {
    const audio = document.createElement('audio')
    return !!audio.canPlayType
  }
}

export default PlayerUtils
